/* =================================== */
/* CSS for control sap.ui.table/Table  */
/* Base theme                          */
/* =================================== */

/*******************************************************************************
 * TABLE PARAMETERS
 ******************************************************************************/

@sapUiTableToolbarDesign: ~"Transparent"; /* should be one of the sap.m.ToolbarDesign enumeration */

@_sapUiTableRowBorderWidth: 1px;

@_sapUiTableFocusOutlineWidth: 1px;
@_sapUiTableFocusOutlineOffset: -1px;

@_sapUiTableColHdrHeight: 2rem;
@_sapUiTableColHdrHeightCozy: 3rem;

@_sapUiTableRowHdrWidth: 2rem;
@_sapUiTableRowHdrWidthCozy: 3rem;
@_sapUiTableRowHdrWidthCondensed: 2rem;

@_sapUiTableRowHeight: calc(~"2rem + "@_sapUiTableRowBorderWidth);
@_sapUiTableRowHeightCozy: calc(~"3rem + "@_sapUiTableRowBorderWidth);
@_sapUiTableRowHeightCondensed: calc(~"1.5rem + "@_sapUiTableRowBorderWidth);




/*******************************************************************************
 * MAIN TABLE SECTIONS (First Level Elements)
 ******************************************************************************/

.sapUiTable {
	font-family: @sapUiDesktopFontFamily;
	color: @sapUiListTextColor;
	position: relative;
	box-sizing: border-box;
	// IE will read a clientHeight of 0px, if the clientWidth is 0, although the table has a height
	min-width: 1rem;
}

.sapUiTableFtr {
	border-bottom: 1px solid @sapUiListHeaderBorderColor;
	border-left: 1px solid @sapUiListHeaderBorderColor;
	border-right: 1px solid @sapUiListHeaderBorderColor;
	box-sizing: border-box;
	padding: 0 0.625rem;
	min-height: 1.5rem;
	background-color: @sapUiListBackground;
	padding-top: 0.25rem;
	font-weight: bold;
}

.sapUiSizeCozy .sapUiTableFtr {
	height: 3rem;
	line-height: 3rem;
	padding-top: 0;
}

.sapUiTableHdr {
	padding: 0;
	background-color: transparent;
	min-height: 1.5rem;
	margin-bottom: 0.125rem;
	height: auto;
}

.sapUiTableHdrTitle {
	font-size: @sapUiFontHeader3Size;
	height: 100%;
	color: @sapUiGroupTitleTextColor;
}

.sapUiTableHdr,
.sapUiTableTbr,
.sapUiTableExt {
	border-bottom: 2px solid transparent;
	box-sizing: border-box;
}

.sapUiTableTbr {
	height: 2rem;
}

.sapUiSizeCozy .sapUiTableTbr {
	height: 3rem;
}

.sapUiTableCnt {
	box-sizing: border-box;
	position: relative;
	overflow: hidden; /* avoid scrollbar for column resize handlers */
	border-left: 1px solid @sapUiListVerticalBorderColor;
	border-right: 1px solid @sapUiListVerticalBorderColor;
	border-top: 1px solid @sapUiListBorderColor;
	background-color: @sapUiListBackground;
}

.sapUiTableOuterAfter,
.sapUiTableOuterBefore {
	display: none;
}




/*******************************************************************************
 * OTHERS
 ******************************************************************************/

.sapUiTableNoOpacity {
	opacity: 0;
	overflow: hidden;
}

.sapUiTableHiddenSizeDetector {
	position: absolute;
	left: -1000px;
	visibility: hidden;
	display: inline-block;
}

// Hide table during transition, because shrinked width causes growing rows
.sapMNavItemFlipping .sapUiTable {
	opacity: 0;
}




/*******************************************************************************
 * OVERLAY / NODATA AREA
 ******************************************************************************/

 .sapUiTableCtrlEmptyMsg {
	position: absolute;
	top: 50%;
	display: inline-block;
	left: 0;
	width: 100%;
	box-sizing: border-box;
	padding: 0.2rem 1rem;
	transform: translateY(-50%);
	white-space: pre-wrap;
}

.sapUiTableCtrlEmpty,
.sapUiTableOverlayArea {
	display: none;
	position: absolute;
	height: 100%;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	text-align: center;
	box-sizing: border-box;
}

.sapUiTableCtrlEmpty {
	background-color: @sapUiListBackground;
	font-size: @sapUiFontSize;
}

.sapUiTableOverlayArea {
	background-color: transparent;
	z-index: 10;
}

.sapUiTableEmpty {

	.sapUiTableCtrlEmpty {
		display: block;
	}

	.sapUiTableRowHdr,
	.sapUiTableRowAction {
		opacity: 0;
	}

}

.sapUiTableOverlayArea:focus,
.sapUiTableCtrlEmpty:focus {
	outline-width: @_sapUiTableFocusOutlineWidth;
	outline-style: dotted;
	outline-offset: -3px;
	outline-color: @sapUiContentFocusColor;
}

html[data-sap-ui-browser^="ie"], html[data-sap-ui-browser^="ed"] {

	.sapUiTableOverlayArea:focus,
	.sapUiTableCtrlEmpty:focus {
		outline-width: 0px;
	}

	.sapUiTableOverlayArea:focus:before,
	.sapUiTableCtrlEmpty:focus:before {
		position: absolute;
		top: 2px;
		left: 2px;
		right: 2px;
		bottom: 2px;
		border-width: @_sapUiTableFocusOutlineWidth;
		border-style: dotted;
		border-color: @sapUiContentFocusColor;
		content: "";
		pointer-events: none;
	}

}

.sapUiTable.sapUiTableOverlay {

	 /* Since in visibleRowCountMode=Auto, the table has no height, the overlay must be applied to every child div
		of the table root div. Because they have some borders and margins applied, the strech the overlay by 2 pixels to top and
		bottom to be able to cover margins and borders*/
	> div:after {
		content: '';
		z-index: 9;
		/* same as sapUiOverlay */
		background-color: fade(@sapUiGroupContentBackground, 80);
		position: absolute;
		top: -2px;
		left: 0;
		right: 0;
		bottom: -2px;
		/* same as sapUiOverlay */
	}

	> div {
		position: relative;
	}

	.sapUiTableOuterBefore,
	.sapUiTableOuterAfter,
	.sapUiTableOverlayArea {
		display: block;
	}

	.sapUiTableHdr,
	.sapUiTableTbr,
	.sapUiTableExt,
	.sapUiTableFtr,
	.sapUiTableColHdrCnt,
	.sapUiTableColRsz,
	.sapUiTableCCnt,
	.sapUiTableHSb {
		pointer-events: none;
		-webkit-user-select: none;
		-moz-user-select: none;
		-ms-user-select: none;
		user-select: none;
	}

}




/*******************************************************************************
 * FOCUS VISUALIZATION OF TABLE CELLS
 ******************************************************************************/

/*
 * NOTE:
 * IE, Edge : use native outline rendering. It has correct contrast and offset.
 * Any attempt to specify another outline in CSS breaks it.
 * -> No special adaptations here
 */

/* WebKit */
.sapUiTableTr > td:focus:not(*:root),
.sapUiTableCol:focus:not(*:root),
.sapUiTableRowHdr:focus:not(*:root),
.sapUiTableRowAction:focus:not(*:root),
.sapUiTableColRowHdr:focus:not(*:root) {
	outline-offset: @_sapUiTableFocusOutlineOffset;
	outline: @_sapUiTableFocusOutlineWidth dotted @sapUiContentFocusColor;
}

/* Firefox */
@supports (-moz-appearance:meterbar) {
	.sapUiTableTr > td:focus,
	.sapUiTableCol:focus,
	.sapUiTableRowHdr:focus,
	.sapUiTableRowAction:focus,
	.sapUiTableColRowHdr:focus {
		outline-offset: @_sapUiTableFocusOutlineOffset;
		outline: @_sapUiTableFocusOutlineWidth dotted @sapUiContentFocusColor;
	}
}




/*******************************************************************************
 * COLUMN HEADERS
 ******************************************************************************/

.sapUiTableColHdrCnt {
	display: none;
	position: relative;
	background-color: @sapUiListHeaderBackground;
	max-width: 100%;
	overflow: hidden;
	white-space: nowrap;
	min-height: @_sapUiTableColHdrHeight;
	border-top: 1px solid @sapUiListHeaderBorderColor;
	border-bottom: 1px solid @sapUiListVerticalBorderColor;
	color: @sapUiListTextColor;
}

/* FIX for IE fixed columns */
html[data-sap-ui-browser^="ie"] .sapUiTableColHdrCnt {
	width: 100%;
}

.sapUiTableCHdr .sapUiTableColHdrCnt {
	display: block;
}

.sapUiSizeCozy .sapUiTableColHdrCnt {
	min-height: @_sapUiTableColHdrHeightCozy;
	border-bottom-color: @sapUiListHeaderBorderColor;
}


.sapUiTableColRowHdr {
	display: none;
	vertical-align: bottom;
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	width: @_sapUiTableRowHdrWidth;
	box-sizing: border-box;
	min-height: @_sapUiTableColHdrHeight;
	border-right: 1px solid @sapUiListVerticalBorderColor;
	color: @sapUiListTextColor;
	background-color: @sapUiListHeaderBackground;
}

.sapUiTableRSel .sapUiTableColRowHdr {
	display: inline-block;
}

.sapUiSizeCozy .sapUiTableColRowHdr {
	width: @_sapUiTableRowHdrWidthCozy;
	min-height: @_sapUiTableColHdrHeightCozy;
}

.sapUiSizeCondensed .sapUiTableColRowHdr {
	width: @_sapUiTableRowHdrWidthCondensed;
}

.sapUiTableColRowHdr:hover {
	background-color: contrast(@sapUiListHeaderBackground, darken(@sapUiListHeaderBackground, 6), lighten(@sapUiListHeaderBackground, 6));
}

.sapUiTableColRowHdr:active {
	background-color: @sapUiListActiveBackground;
}

.sapUiTableColRowHdrIco {
	display: none;
}

.sapUiTableSelModeMultiToggle .sapUiTableColRowHdr.sapUiTableSelAllEnabled .sapUiTableColRowHdrIco {
	display: block;
}

.sapUiTableSelctionCheckBoxMixin() {
	content: '';
	position: absolute;
	border: 2px @sapUiFieldBorderColor solid;
	background-color: @sapUiFieldBackground;
	font-family: "SAP-icons";
	text-align: center;
	color: @sapUiSelected;
	box-sizing: border-box;
	margin: auto;
	top: 0;
	left: 0;
	bottom: 0;
	right: 0;
	width: 16px;
	height: 16px;
	font-size: 11px;
}

.sapUiTableColRowHdrIco::after {
	display: block;
	.sapUiTableSelctionCheckBoxMixin;
	/*Select All Checkbox should always be at the bottom*/
	top: auto;
	bottom: 10px;
}

.sapUiTableColRowHdr:not(.sapUiTableSelAll) .sapUiTableColRowHdrIco::after {
	content: '\e05b';
}

.sapUiSizeCozy .sapUiTableColRowHdrIco::after {
	width: 1.375rem;
	height: 1.375rem;
	font-size: 1rem;
	bottom: 14px; /*Select All Checkbox should always be at the bottom*/
}

.sapUiTableSelNoCheckbox {

	.sapUiTableColRowHdr:not(.sapUiTableSelAll) .sapUiTableColRowHdrIco::after,
	.sapUiTableColRowHdrIco::after {
		content: "\e224";
		color: @sapUiContentIconColor;
		background-color: transparent;
		border: none;
		font-size: 1rem;
		width: 20px;
		height: 20px;
	}

}

.sapUiTableColHdrScr {
	display: inline-block;
	vertical-align: top;
	overflow: hidden;
	height: 100%;
	white-space: nowrap;
	box-sizing: border-box;
}

.sapUiTableColHdrScr {
	margin: 0;
}

.sapUiTableColHdrScr.sapUiTableHasNoColumns {
	min-height: @_sapUiTableColHdrHeight;
}

.sapUiSizeCozy .sapUiTableColHdrScr.sapUiTableHasNoColumns {
	min-height: @_sapUiTableColHdrHeightCozy;
}

.sapUiTableCol {
	vertical-align: middle;
	box-sizing: border-box;
	min-height: @_sapUiTableColHdrHeight;
	padding-top: 7px;
	padding-bottom: 7px;
	border-right: 1px solid @sapUiListVerticalBorderColor;
	background-color: @sapUiListHeaderBackground;
	color: @sapUiListTextColor;
}

.sapUiTableCol:hover {
	background-color: contrast(@sapUiListHeaderBackground, darken(@sapUiListHeaderBackground, 6), lighten(@sapUiListHeaderBackground, 6));
	color: @sapUiListTextColor;
}

.sapUiTableCol:active {
	background-color: @sapUiListActiveBackground;
}

.sapUiTableCol:active > div > label,
.sapUiTableCol:active > div > span {
	color: @sapUiListActiveTextColor;
}

.sapUiTableColHdrTr > .sapUiTableCol {
	position: relative;
}

.sapUiSizeCozy .sapUiTableCol {
	min-height: @_sapUiTableColHdrHeightCozy;
}

.sapUiTableColCell {
	text-overflow: ellipsis;
	overflow: hidden;
	white-space: normal;
	position: relative;
	padding: 0 0.5rem;
}

.sapUiTableColSorted,
.sapUiTableColFiltered {
	padding-right: 1.5rem;
}

.sapUiTableColSorted.sapUiTableColFiltered {
	padding-right: 2.5rem;
}

.sapUiTableColSF::after {
	content : "";
	position: absolute;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
	font-family: SAP-Icons;
	font-size: 0.75rem;
	padding-right: 0.375rem;
	color: @sapUiContentNonInteractiveIconColor;
	line-height: @_sapUiTableColHdrHeight;
}

.sapUiTableColSF:active::after {
	color: @sapUiListActiveTextColor;
}

.sapUiSizeCozy .sapUiTableColSF::after {
	line-height: @_sapUiTableColHdrHeightCozy;
}

.sapUiTableColSorted::after {
	content : "\e1fd";
}

.sapUiTableColSortedD::after {
	content : "\e1fc";
}

.sapUiTableColFiltered::after {
	content : "\e076";
}

.sapUiTableColFiltered.sapUiTableColSorted::after {
	content : "\e076\00a0\e1fd";
}

.sapUiTableColFiltered.sapUiTableColSortedD::after {
	content : "\e076\00a0\e1fc";
}

.sapUiTableColCellMenu {

	div {
		display: inline-block;
		position: absolute;
		font-family: 'SAP-icons';
		font-size: 1.375rem;
		text-align: center;
		-webkit-transform: translatey(-50%);
		transform: translatey(-50%);
		top: 50%;
		color: @sapUiContentIconColor;
	}

	.sapUiTableColResizer {
		right: 0;
		width: 2rem;
		padding-left: 0.25rem;
		padding-right: 0.25rem;
		cursor: default;
	}

	.sapUiTableColDropDown {
		left: 0;
		width: 2rem;
		right: 2rem;
		text-align: center;
		padding-left: 0.25rem;
		padding-right: 0.25rem;
		cursor: default;
	}

	.sapUiTableColDropDown:active {
		color: @sapUiContentContrastTextColor;
	}

}




/*******************************************************************************
 * ROW HEADERS
 ******************************************************************************/

.sapUiTableRowHdrScr {
	display: none;
	position: absolute;
	top: 0px;
	left: 0px;
	width: @_sapUiTableRowHdrWidth;
	box-sizing: border-box;
	min-height: @_sapUiTableRowHeight;
    touch-action: none; /* for touch scrolling */
}

.sapUiSizeCondensed .sapUiTableRowHdrScr {
	width: @_sapUiTableRowHdrWidthCondensed;
	min-height: @_sapUiTableRowHeightCondensed;
}

.sapUiSizeCozy .sapUiTableRowHdrScr {
	width: @_sapUiTableRowHdrWidthCozy;
	min-height: @_sapUiTableRowHeightCozy;
}

.sapUiTableRSel .sapUiTableRowHdrScr {
	display: block;
}

.sapUiTableRowHdr {
	background-color: @sapUiListBackground;
	border-bottom: 1px solid @sapUiListBorderColor;
	border-right: 1px solid @sapUiListVerticalBorderColor;
	box-sizing: border-box;
	position: relative;
}

.sapUiTableRowHdr.sapUiTableRowSel {
	background-color: @sapUiListSelectionBackgroundColor;
}

.sapUiTableRowHdr.sapUiTableRowHvr {
	background-color: @sapUiListHoverBackground;
}

.sapUiTableRowHdr.sapUiTableRowSel.sapUiTableRowHvr {
	background-color: @sapUiListSelectionHoverBackground;
}

.sapUiTableSelModeNone:not(.sapUiTableGroupMode) .sapUiTableRowHdr {
	width: 0;
	border-left: 0;
	border-right: 0;
}

.sapUiTableRowHdr.sapUiTableFixedPreBottomRow {
	border-bottom: 1px solid @sapUiListTableFixedBorder;
}

.sapUiTableRowHdr:last-child {
	border-bottom: 1px solid transparent;
}

.sapUiTableRowHdr::after {
	display: none;
	.sapUiTableSelctionCheckBoxMixin;
}

.sapUiSizeCozy .sapUiTableRowHdr::after {
	width: 1.375rem;
	height: 1.375rem;
	font-size: 1rem;
}

.sapUiTableRowHdr.sapUiTableRowHvr::after {
	border-color: @sapUiFieldHoverBorderColor;
}

.sapUiTableRowHdr.sapUiTableRowSel::after {
	content: '\e05b';
}

.sapUiTableSelModeMultiToggle .sapUiTableRowHdr::after {
	display: block;
}

.sapUiTableSelModeMultiToggle.sapUiTableSelNoCheckbox .sapUiTableRowHdr::after,
.sapUiTableSelModeMultiToggle .sapUiTableRowHdr.sapUiTableRowHidden::after,
.sapUiTableSelModeMultiToggle .sapUiTableRowHdr.sapUiAnalyticalTableDummy::after,
.sapUiTableSelModeMultiToggle .sapUiTableRowHdr.sapUiTableGroupHeader::after,
.sapUiTableSelModeMultiToggle .sapUiTableRowHdr.sapUiAnalyticalTableSum::after {
	 display: none;
}

.sapUiTableAriaRowSel {
	font-size: 0;
}




/*******************************************************************************
 * Row Actions
 ******************************************************************************/

.sapUiTableRowActionHeader {
	position: absolute;
	right: 0;
	top: 0;
	height: 100%;
	box-sizing: border-box;
	border-left: 1px solid @sapUiListVerticalBorderColor;
	display: none;
	z-index: 4; /* Ensure Action Area before Resize/Reorder bars*/
	background-color: @sapUiListHeaderBackground;
	width: 2 * @_sapUiTableRowHdrWidth;
}

.sapUiTableHScr .sapUiTableRowActionHeader {
	border-left-color: @sapUiListTableFixedBorder;
}

.sapUiTableRowActionHeader > span {
	display: none;
}

.sapUiTableRowActionScr {
	display: none;
	position: absolute;
	top: 0px;
	right: 0px;
	width: 2 * @_sapUiTableRowHdrWidth;
	box-sizing: border-box;
	min-height: @_sapUiTableRowHeight;
	z-index: 4; /* Ensure Action Area before Resize/Reorder bars*/
	touch-action: pan-x; /* for touch scrolling, vertical only */
}

.sapUiTableRActS .sapUiTableRowActionHeader,
.sapUiTableRActS .sapUiTableRowActionScr {
	width: @_sapUiTableRowHdrWidth;
}

.sapUiSizeCondensed .sapUiTableRowActionScr {
	width: 2 * @_sapUiTableRowHdrWidthCondensed;
	min-height: @_sapUiTableRowHeightCondensed;
}

.sapUiSizeCondensed .sapUiTableRowActionHeader {
	width: 2 * @_sapUiTableRowHdrWidthCondensed;
}

.sapUiSizeCondensed .sapUiTableRActS .sapUiTableRowActionHeader,
.sapUiSizeCondensed.sapUiTableRActS .sapUiTableRowActionHeader,
.sapUiSizeCondensed .sapUiTableRActS .sapUiTableRowActionScr,
.sapUiSizeCondensed.sapUiTableRActS .sapUiTableRowActionScr {
	width: @_sapUiTableRowHdrWidthCondensed;
}

.sapUiSizeCozy .sapUiTableRowActionHeader,
.sapUiSizeCozy .sapUiTableRowActionScr {
	width: 2 * @_sapUiTableRowHdrWidthCozy;
	min-height: @_sapUiTableRowHeightCozy;
}

.sapUiSizeCozy .sapUiTableRActS .sapUiTableRowActionHeader,
.sapUiSizeCozy.sapUiTableRActS .sapUiTableRowActionHeader,
.sapUiSizeCozy .sapUiTableRActS .sapUiTableRowActionScr,
.sapUiSizeCozy.sapUiTableRActS .sapUiTableRowActionScr {
	width: @_sapUiTableRowHdrWidthCozy;
}

.sapUiTableRAct .sapUiTableRowActionScr,
.sapUiTableRActS .sapUiTableRowActionScr,
.sapUiTableRAct .sapUiTableRowActionHeader,
.sapUiTableRActS .sapUiTableRowActionHeader {
	display: block;
}

.sapUiTableRowAction {
	background-color: @sapUiListBackground;
	border-bottom: 1px solid @sapUiListBorderColor;
	border-right: 1px solid @sapUiListVerticalBorderColor;
	border-left: 1px solid @sapUiListVerticalBorderColor;
	box-sizing: border-box;
	position: relative;
	padding: 0 0.25rem;
}

.sapUiTableHScr .sapUiTableRowAction {
	border-left-color: @sapUiListTableFixedBorder;
}

.sapUiTableRowAction > .sapUiTableAction {
	position: absolute;
	margin: auto;
	top: 0;
	bottom: 0;
}

.sapUiTableRActS .sapUiTableRowAction {
	padding: 0 0.125rem;
}

.sapUiSizeCozy.sapUiTableRAct .sapUiTableRowAction,
.sapUiSizeCozy .sapUiTableRAct .sapUiTableRowAction,
.sapUiSizeCondensed.sapUiTableRAct .sapUiTableRowAction,
.sapUiSizeCondensed .sapUiTableRAct .sapUiTableRowAction {
	padding: 0 0.5rem;
}

.sapUiSizeCozy.sapUiTableRActS .sapUiTableRowAction,
.sapUiSizeCozy .sapUiTableRActS .sapUiTableRowAction,
.sapUiSizeCondensed.sapUiTableRActS .sapUiTableRowAction,
.sapUiSizeCondensed .sapUiTableRActS .sapUiTableRowAction {
	padding: 0 0.25rem;
}

.sapUiTableRowAction.sapUiTableRowSel {
	background-color: @sapUiListSelectionBackgroundColor;
}

.sapUiTableRowAction.sapUiTableRowHvr {
	background-color: @sapUiListHoverBackground;
}

.sapUiTableRowAction.sapUiTableRowSel.sapUiTableRowHvr {
	background-color: @sapUiListSelectionHoverBackground;
}

.sapUiTableRowAction.sapUiTableFixedPreBottomRow {
	border-bottom: 1px solid @sapUiListTableFixedBorder;
}

.sapUiTableRowAction:last-child {
	border-bottom: 1px solid transparent;
}




/*******************************************************************************
 * INNER TABLE
 ******************************************************************************/

.sapUiTableCCnt {
	position: relative;
	overflow: hidden;
	border-bottom: 1px solid @sapUiListHeaderBorderColor;
}

.sapUiTableCtrlCnt {
	box-sizing: border-box;
	min-height: @_sapUiTableRowHeight;
}

.sapUiSizeCozy .sapUiTableCtrlCnt {
	min-height: @_sapUiTableRowHeightCozy;
}

.sapUiSizeCondensed .sapUiTableCtrlCnt {
	min-height: @_sapUiTableRowHeightCondensed;
}

.sapUiTableCtrl {
	position: relative;
	table-layout: fixed;
	width: 100%;
	border-collapse: separate;
	border-spacing: 0;
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}

.sapUiTableCtrlScr {
	position: relative;
	margin: 0;
	overflow: hidden;
	box-sizing: border-box;
}

/* disable default touch move behavior on scrollable table rows,
   vertical and horizontal scrolling is done in TableScrollExtensions.js */
.sapUiTableCtrlRowScroll {
	touch-action: none;
}
/* disable horizontal touch move behavior on fixed table rows
   horizontal scrolling is done in in TableScrollExtensions.js */
.sapUiTableCtrlRowFixed, .sapUiTableCtrlRowFixedBottom {
	touch-action: pan-y;
}

.sapUiTableVScr .sapUiTableCtrlScr {
	border-right: 1px solid @sapUiListVerticalBorderColor;
}

.sapUiTableRAct .sapUiTableCtrlScr,
.sapUiTableRActS .sapUiTableCtrlScr {
	border-right-width: 0px;
}

.sapUiTableCtrlScrFixed {
	float: left;
	max-width: 100%;
	overflow: hidden;
}

.sapUiTableRSel {

	.sapUiTableCtrlScr, .sapUiTableCtrlScrFixed {
		margin-left: @_sapUiTableRowHdrWidth;
	}

}

.sapUiSizeCozy .sapUiTableRSel,
.sapUiSizeCozy.sapUiTableRSel {

	.sapUiTableCtrlScr, .sapUiTableCtrlScrFixed {
		margin-left: @_sapUiTableRowHdrWidthCozy;
	}

}

.sapUiSizeCondensed .sapUiTableRSel,
.sapUiSizeCondensed.sapUiTableRSel {

	.sapUiTableCtrlScr, .sapUiTableCtrlScrFixed {
		margin-left: @_sapUiTableRowHdrWidthCondensed;
	}

}

.sapUiTableCtrlCol { /* row defining the width of the cols */
	height: 0px !important;
	margin: 0;
	padding: 0;
	border: none;
}

.sapUiTableCtrlCol > th {
	height: inherit;
	margin: 0;
	padding: 0;
	border: none;
}

.sapUiTableCtrlCol > th > * {
	display: none;
}

.sapUiTableTr {
	color: @sapUiListTextColor;
	font-weight: normal;
	box-sizing: border-box;
}

.sapUiTableCtrl tr {
	height: @_sapUiTableRowHeight;
}

.sapUiSizeCozy .sapUiTableCtrl tr {
	height: @_sapUiTableRowHeightCozy;
}

.sapUiSizeCondensed .sapUiTableCtrl tr {
	height: @_sapUiTableRowHeightCondensed;
}

.sapUiTableCtrl tr.sapUiTableRowHvr {
	background-color: @sapUiListHoverBackground;
	color: @sapUiListTextColor;
}

.sapUiTableResizing .sapUiTableCtrlCnt tr {
	pointer-events: none;
}

.sapUiTableTr > td {
	border-right: @_sapUiTableRowBorderWidth solid @sapUiListVerticalBorderColor;
	border-bottom: @_sapUiTableRowBorderWidth solid @sapUiListBorderColor;
	padding: 0;
	vertical-align: middle;
	box-sizing: border-box;
}

.sapUiTableColHdrTr > td:last-child,
.sapUiTableTr > td:last-child {
	border-right: none;
}

.sapUiTable:not(.sapUiTableRActS):not(.sapUiTableRAct) .sapUiTableTr > .sapUiTableTDDummy {
	border-bottom: none;
}

.sapUiTableTr > .sapUiTableTDDummy {
	background: darken(@sapUiListBackground, 2.5);
}

.sapUiTableTr > td.sapUiTableTdFirst {
	padding-left: 2px; /* support for left border in RowOnly selection behavior */
}

.sapUiTableRSel .sapUiTableTr {

	> td.sapUiTableTdFirst {
		padding-left: 0;
	}

	> td:first-child {
		border-right: none;
	}

}

.sapUiTableFixedLastTopRow,
.sapUiTableFixedLastTopRow > td,
.sapUiTableFixedPreBottomRow > td {
	border-bottom: 1px solid @sapUiListTableFixedBorder;
}

.sapUiTableCtrl:last-child tr:not(.sapUiTableFixedLastTopRow):last-child > td,
.sapUiTableCtrlScrFixed tr:not(.sapUiTableFixedLastTopRow):not(.sapUiTableFixedPreBottomRow):last-child > td,
.sapUiTableCtrlRowFixedBottom tr:not(.sapUiTableFixedLastTopRow):last-child > td {
	border-bottom: 1px solid transparent; /*Hide last row bottom cell border*/
}

.sapUiTableCtrlFixed .sapUiTableCol.sapUiTableColLastFixed,
.sapUiTableCtrlFixed .sapUiTableTr:not(.sapUiTableGroupHeader) > td:last-child {
	border-right: 1px solid @sapUiListTableFixedBorder;
}

.sapUiTableTr.sapUiTableRowHvr > td:not(.sapUiTableTDDummy) {
	background-color: @sapUiListHoverBackground;
}

.sapUiTableTr.sapUiTableRowSel:not(.sapUiTableGroupHeader) > td:not(.sapUiTableTDDummy) {
	background-color: @sapUiListSelectionBackgroundColor;
}

.sapUiTableTr.sapUiTableRowHvr.sapUiTableRowSel:not(.sapUiTableGroupHeader) > td:not(.sapUiTableTDDummy) {
	background-color: @sapUiListSelectionHoverBackground;
}

.sapUiTableCell {
	height: inherit;
	text-overflow: ellipsis;
	overflow: hidden;
	padding: 0 0.5rem;
	white-space: nowrap;
	box-sizing: border-box;
}

.sapUiSizeCondensed {

	.sapUiTableCell,
	.sapUiTableCell > .sapUiTableNoCondensedPadding {
		padding: 0;
	}

	.sapUiTableCell > *,
	.sapUiTableCondensedPadding {
		box-sizing: border-box;
		padding: 0 0.5rem;
	}

}

.sapUiTableCellFlex {
	display: flex;
}

.sapUiTableRowHidden .sapUiTableCell,
.sapUiTableCellHidden .sapUiTableCell {
	visibility: hidden; /* hidden row (no content) */
}